

#ifdef DEBUG

// debug.lua
char g_debug_lua[10674] = {
    '_','D','E','B','U','G','_','F','I','L','E',' ','=',' ','"','d','e','b','u','g','.','l','u','a','"',0xa,
    // _DEBUG_FILE = "debug.lua"
    0xa,
    'd','e','b','u','g','.','b','p','s',' ','=',' ','{',0xa,
    // debug.bps = {
    ' ',' ',' ',' ','m','a','x',' ','=',' ','0',',',0xa,
    // max = 0,
    ' ',' ',' ',' ','t','r','a','c','e',' ','=',' ','f','a','l','s','e',',',0xa,
    // trace = false,
    ' ',' ',' ',' ','l','a','s','t','_','c','m','d',' ','=',' ','"','"',',',0xa,
    // last_cmd = "",
    ' ',' ',' ',' ','n','e','x','t',' ','=',' ','f','a','l','s','e',',',0xa,
    // next = false,
    ' ',' ',' ',' ','c','u','r','_','f','u','n','c',' ','=',' ','n','i','l',',',0xa,
    // cur_func = nil,
    ' ',' ',' ',' ','t','r','a','c','e','_','c','o','u','n','t',' ','=',' ','0',',',0xa,
    // trace_count = 0,
    ' ',' ',' ',' ','v','a','r','_','t','b','l',' ','=',' ','n','i','l',',',0xa,
    // var_tbl = nil,
    '}',0xa,
    // }
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','l','o','g','(',' ','l','o','g','_','s','t','r',' ',')',0xa,
    // function debug_log( log_str )
    ' ',' ',' ',' ','p','r','i','n','t','(',' ','"','[','L','u','a','V','i','e','w',']','[',0xe8,0xb0,0x83,0xe8,0xaf,0x95,0xe6,0x97,0xa5,0xe5,0xbf,0x97,']',' ','"',' ','.','.',' ','l','o','g','_','s','t','r',' ',')',';',0xa,
    // print( "[LuaView][调试日志] " .. log_str );
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','p','r','i','n','t','_','v','a','r','_','0','(',' ','n','a','m','e',',',' ','v','a','l','u','e',',',' ','l','e','v','e','l',' ',')',0xa,
    // function debug_print_var_0( name, value, level )
    ' ',' ',' ',' ','l','o','c','a','l',' ','r','e','t',' ','=',' ','"','"',';',0xa,
    // local ret = "";
    ' ',' ',' ',' ','l','o','c','a','l',' ','p','r','e','f','i','x',' ','=',' ','s','t','r','i','n','g','.','r','e','p','(',' ','"',' ',' ',' ',' ','"',',',' ','l','e','v','e','l',' ',')',0xa,
    // local prefix = string.rep( "    ", level )
    ' ',' ',' ',' ','l','o','c','a','l',' ','s','t','r',' ','=',' ','s','t','r','i','n','g','.','f','o','r','m','a','t','(',' ','"','%','s','%','s',' ','=',' ','%','s','"',',',' ','p','r','e','f','i','x',',',' ','n','a','m','e',',',' ','t','o','s','t','r','i','n','g','(','v','a','l','u','e',')',' ',')',0xa,
    // local str = string.format( "%s%s = %s", prefix, name, tostring(value) )
    0xa,
    ' ',' ',' ',' ','i','f',' ','t','y','p','e','(',' ','v','a','l','u','e',' ',')',' ','=','=',' ','"','t','a','b','l','e','"',' ','t','h','e','n',0xa,
    // if type( value ) == "table" then
    ' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','d','e','b','u','g','.','v','a','r','_','t','b','l','[','v','a','l','u','e',']',' ','t','h','e','n',0xa,
    // if debug.var_tbl[value] then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','-','-',0xe5,0xb7,0xb2,0xe5,0x9c,0xa8,0xe4,0xb8,0xb4,0xe6,0x97,0xb6,0xe8,0xa1,0xa8,0xe4,0xb8,0xad,0xe7,0x9a,0x84,',',0xe5,0x8f,0xaa,0xe6,0x89,0x93,0xe5,0x8d,0xb0,0xe8,0xa1,0xa8,0xe5,0x9c,0xb0,0xe5,0x9d,0x80,0xa,
    // --已在临时表中的,只打印表地址
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','r','e','t',' ','=',' ','r','e','t',' ','.','.',' ','t','o','s','t','r','i','n','g','(','s','t','r',')',' ','.','.',' ',0x27,0x5c,'n',0x27,';',0xa,
    // ret = ret .. tostring(str) .. '\n';
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',' ','r','e','t',';',0xa,
    // return ret;
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ',' ',' ',' ',' ','-','-',0xe5,0x8a,0xa0,0xe5,0x88,0xb0,0xe4,0xb8,0xb4,0xe6,0x97,0xb6,0xe8,0xa1,0xa8,0xe4,0xb8,0xad,',',0xe4,0xbb,0xa5,0xe5,0x85,0x8d,0xe8,0xa1,0xa8,0xe5,0x87,0xba,0xe7,0x8e,0xb0,0xe5,0xbe,0xaa,0xe7,0x8e,0xaf,0xe5,0xbc,0x95,0xe7,0x94,0xa8,0xe6,0x97,0xb6,',',0xe6,0x89,0x93,0xe5,0x8d,0xb0,0xe4,0xb9,0x9f,0xe4,0xba,0xa7,0xe7,0x94,0x9f,0xe6,0xad,0xbb,0xe5,0xbe,0xaa,0xe7,0x8e,0xaf,0xa,
    // --加到临时表中,以免表出现循环引用时,打印也产生死循环
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','v','a','r','_','t','b','l','[','v','a','l','u','e',']',' ','=',' ','t','r','u','e',0xa,
    // debug.var_tbl[value] = true
    ' ',' ',' ',' ',' ',' ',' ',' ','-','-',0xe6,0x89,0x93,0xe5,0x8d,0xb0,0xe8,0xa1,0xa8,0xe4,0xb8,0xad,0xe6,0x89,0x80,0xe6,0x9c,0x89,0xe6,0x95,0xb0,0xe6,0x8d,0xae,0xa,
    // --打印表中所有数据
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t',' ','=',' ','r','e','t',' ','.','.',' ','s','t','r','i','n','g','.','f','o','r','m','a','t','(',' ','"','%','s','%','s',' ','=',' ','{','"',',',' ','p','r','e','f','i','x',',',' ','n','a','m','e',' ',')',' ','.','.',' ',0x27,0x5c,'n',0x27,';',0xa,
    // ret = ret .. string.format( "%s%s = {", prefix, name ) .. '\n';
    ' ',' ',' ',' ',' ',' ',' ',' ','f','o','r',' ','k',',',' ','v',' ','i','n',' ','p','a','i','r','s','(',' ','v','a','l','u','e',' ',')',' ','d','o',0xa,
    // for k, v in pairs( value ) do
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','t','y','p','e','(',' ','k',' ',')',' ','=','=',' ','"','s','t','r','i','n','g','"',' ','t','h','e','n',0xa,
    // if type( k ) == "string" then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','l','s','e',0xa,
    // else
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','k',' ','=',' ','t','o','s','t','r','i','n','g','(','k',')',';',0xa,
    // k = tostring(k);
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','-','-',0xe4,0xb8,0x8d,0xe6,0x89,0x93,0xe5,0x8d,0xb0,' ','"','_','"',0xe5,0xbc,0x80,0xe5,0xa4,0xb4,0xe7,0x9a,0x84,0xe5,0x86,0x85,0xe9,0x83,0xa8,0xe5,0x8f,0x98,0xe9,0x87,0x8f,0xa,
    // --不打印 "_"开头的内部变量
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','-','-','i','f',' ','s','t','r','i','n','g','.','s','u','b','(',' ','k',',',' ','1',',',' ','1',' ',')',' ','~','=',' ','"','_','"',' ','t','h','e','n',0xa,
    // --if string.sub( k, 1, 1 ) ~= "_" then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','r','e','t',' ','=',' ','r','e','t',' ','.','.',' ','d','e','b','u','g','_','p','r','i','n','t','_','v','a','r','_','0','(',' ','k',',',' ','v',',',' ','l','e','v','e','l',' ','+',' ','1',' ',')',0xa,
    // ret = ret .. debug_print_var_0( k, v, level + 1 )
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','-','-','e','n','d',0xa,
    // --end
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t',' ','=',' ','r','e','t',' ','.','.',' ','p','r','e','f','i','x',' ','.','.',' ','"','}','"',' ','.','.',' ',0x27,0x5c,'n',0x27,';',0xa,
    // ret = ret .. prefix .. "}" .. '\n';
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','t','y','p','e','(',' ','v','a','l','u','e',' ',')',' ','=','=',' ','"','s','t','r','i','n','g','"',' ','t','h','e','n',0xa,
    // elseif type( value ) == "string" then
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t',' ','=',' ','r','e','t',' ','.','.',' ','t','o','s','t','r','i','n','g','(','s','t','r',')',' ','.','.',' ',0x27,0x5c,'n',0x27,';',0xa,
    // ret = ret .. tostring(str) .. '\n';
    ' ',' ',' ',' ','e','l','s','e',0xa,
    // else
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t',' ','=',' ','r','e','t',' ','.','.',' ','t','o','s','t','r','i','n','g','(','s','t','r',')',' ','.','.',' ',0x27,0x5c,'n',0x27,';',0xa,
    // ret = ret .. tostring(str) .. '\n';
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','r','e','t','u','r','n',' ','r','e','t',';',0xa,
    // return ret;
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','p','r','i','n','t','_','v','a','r','(',' ','n','a','m','e',',',' ','v','a','l','u','e',',',' ','l','e','v','e','l',' ',')',0xa,
    // function debug_print_var( name, value, level )
    ' ',' ',' ',' ','l','o','c','a','l',' ','s',' ','=',' ','d','e','b','u','g','_','p','r','i','n','t','_','v','a','r','_','0','(',' ','n','a','m','e',',',' ','v','a','l','u','e',',',' ','l','e','v','e','l',' ',')',';',0xa,
    // local s = debug_print_var_0( name, value, level );
    ' ',' ',' ',' ','i','f','(',' ','s',' ',')',' ','t','h','e','n',0xa,
    // if( s ) then
    ' ',' ',' ',' ',' ',' ',' ',' ','s',' ','=',' ','s',':','s','u','b','(','1',',',' ','s',':','l','e','n','(',')','-','1',' ',')',';',0xa,
    // s = s:sub(1, s:len()-1 );
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','s',' ',')',';',0xa,
    // debug_log( s );
    ' ',' ',' ',' ','e','l','s','e',0xa,
    // else
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','s',' ',')',';',0xa,
    // debug_log( s );
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','p','r','i','n','t','_','e','x','p','r','(',' ','v','a','r',' ',')',0xa,
    // function debug_print_expr( var )
    ' ',' ',' ',' ','i','f',' ','(',' ','v','a','r','=','=','n','i','l',' ',')',' ','t','h','e','n',0xa,
    // if ( var==nil ) then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(','"','d','e','b','u','g','_','p','r','i','n','t','_','e','x','p','r',' ','v','a','r','=','=','n','i','l','"',')',';',0xa,
    // debug_log("debug_print_expr var==nil");
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',';',0xa,
    // return;
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','-','-',0xe6,0xb8,0x85,0xe7,0xa9,0xba,0xe4,0xb8,0xb4,0xe6,0x97,0xb6,0xe5,0x8f,0x98,0xe9,0x87,0x8f,0xe8,0xa1,0xa8,0xa,
    // --清空临时变量表
    ' ',' ',' ',' ','d','e','b','u','g','.','v','a','r','_','t','b','l',' ','=',' ','{','}',0xa,
    // debug.var_tbl = {}
    0xa,
    ' ',' ',' ',' ','l','o','c','a','l',' ','i','n','d','e','x',' ','=',' ','1',0xa,
    // local index = 1
    ' ',' ',' ',' ','-','-',0xe6,0x89,0xbe,0xe5,0xb1,0x80,0xe9,0x83,0xa8,0xe5,0x8f,0x98,0xe9,0x87,0x8f,0xa,
    // --找局部变量
    ' ',' ',' ',' ','w','h','i','l','e',' ','t','r','u','e',' ','d','o',0xa,
    // while true do
    ' ',' ',' ',' ',' ',' ',' ',' ','l','o','c','a','l',' ','n','a','m','e',',',' ','v','a','l','u','e',' ','=',' ','d','e','b','u','g','.','g','e','t','l','o','c','a','l','(',' ','4',',',' ','i','n','d','e','x',' ',')',0xa,
    // local name, value = debug.getlocal( 4, index )
    ' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','n','o','t',' ','n','a','m','e',' ','t','h','e','n',' ',0xa,
    // if not name then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','b','r','e','a','k',' ',0xa,
    // break
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ','i','n','d','e','x',' ','=',' ','i','n','d','e','x',' ','+',' ','1',0xa,
    // index = index + 1
    0xa,
    ' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','n','a','m','e',' ','=','=',' ','v','a','r',' ','t','h','e','n',0xa,
    // if name == var then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','p','r','i','n','t','_','v','a','r','(',' ','v','a','r',',',' ','v','a','l','u','e',',',' ','0',' ',')',0xa,
    // debug_print_var( var, value, 0 )
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',0xa,
    // return
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ','-','-',' ','t','r','y',' ','u','p','v','a','l','u','e','s',0xa,
    // -- try upvalues
    ' ',' ',' ',' ','l','o','c','a','l',' ','f','u','n','c',' ','=',' ','d','e','b','u','g','.','g','e','t','i','n','f','o','(','4',',','"','f','"',')','.','f','u','n','c',0xa,
    // local func = debug.getinfo(4,"f").func
    ' ',' ',' ',' ','l','o','c','a','l',' ','i','n','d','e','x',' ','=',' ','1',0xa,
    // local index = 1
    ' ',' ',' ',' ','w','h','i','l','e',' ','t','r','u','e',' ','d','o',0xa,
    // while true do
    ' ',' ',' ',' ',' ',' ',' ',' ','l','o','c','a','l',' ','n','a','m','e',',',' ','v','a','l','u','e',' ','=',' ','d','e','b','u','g','.','g','e','t','u','p','v','a','l','u','e','(','f','u','n','c',',',' ','i','n','d','e','x',')',0xa,
    // local name, value = debug.getupvalue(func, index)
    ' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','n','o','t',' ','n','a','m','e',' ','t','h','e','n',' ',0xa,
    // if not name then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','b','r','e','a','k',' ',0xa,
    // break
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','n','a','m','e',' ','=','=',' ','v','a','r',' ','t','h','e','n',' ',0xa,
    // if name == var then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','p','r','i','n','t','_','v','a','r','(',' ','v','a','r',',',' ','v','a','l','u','e',',',' ','0',' ',')',0xa,
    // debug_print_var( var, value, 0 )
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',0xa,
    // return
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ','i','n','d','e','x',' ','=',' ','i','n','d','e','x',' ','+',' ','1',0xa,
    // index = index + 1
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ','-','-',0xe6,0x89,0xbe,0xe5,0x85,0xa8,0xe5,0xb1,0x80,0xe5,0x8f,0x98,0xe9,0x87,0x8f,0xa,
    // --找全局变量
    ' ',' ',' ',' ','i','f',' ','_','G','[','v','a','r',']',' ','~','=',' ','n','i','l',' ','t','h','e','n',0xa,
    // if _G[var] ~= nil then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','p','r','i','n','t','_','v','a','r','(',' ','v','a','r',',',' ','_','G','[','v','a','r',']',',',' ','0',' ',')',0xa,
    // debug_print_var( var, _G[var], 0 )
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',0xa,
    // return
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','v','a','r',' ','.','.',' ','"',' ','i','s',' ','i','n','v','a','l','i','d','"',' ',')',0xa,
    // debug_log( var .. " is invalid" )
    'e','n','d',0xa,
    // end
    0xa,
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','r','u','n','_','e','x','p','r','(',' ','s',' ',')',0xa,
    // function debug_run_expr( s )
    ' ',' ',' ',' ','l','o','a','d','J','s','o','n','(','s',')',0xa,
    // loadJson(s)
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','a','d','d','_','b','r','e','a','k','p','o','i','n','t','(',' ','e','x','p','r',' ',')',0xa,
    // function add_breakpoint( expr )
    ' ',' ',' ',' ','l','o','c','a','l',' ','s','i',' ','=',' ','s','t','r','i','n','g','.','f','i','n','d','(',' ','e','x','p','r',',',' ','"',':','"',' ',')',0xa,
    // local si = string.find( expr, ":" )
    ' ',' ',' ',' ','i','f',' ','n','i','l',' ','=','=',' ','s','i',' ','t','h','e','n',0xa,
    // if nil == si then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','"','a','d','d',' ','b','r','e','a','k','p','o','i','n','t',' ','e','r','r','o','r',',',' ','e','x','p','r',' ','(','"',' ','.','.',' ','e','x','p','r',' ','.','.',' ','"',')',' ','i','n','v','a','l','i','d','"',' ',')',0xa,
    // debug_log( "add breakpoint error, expr (" .. expr .. ") invalid" )
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',0xa,
    // return
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ','l','o','c','a','l',' ','l','i','n','e',' ','=',' ','s','t','r','i','n','g','.','s','u','b','(',' ','e','x','p','r',',',' ','s','i',' ','+',' ','1',' ',')',0xa,
    // local line = string.sub( expr, si + 1 )
    ' ',' ',' ',' ','l','o','c','a','l',' ','l','i','n','e',' ','=',' ','t','o','n','u','m','b','e','r','(',' ','l','i','n','e',' ',')',0xa,
    // local line = tonumber( line )
    ' ',' ',' ',' ','l','o','c','a','l',' ','s','o','u','r','c','e',' ','=',' ','s','t','r','i','n','g','.','s','u','b','(',' ','e','x','p','r',',',' ','1',',',' ','s','i',' ','-',' ','1',' ',')',0xa,
    // local source = string.sub( expr, 1, si - 1 )
    0xa,
    ' ',' ',' ',' ','-','-',0xe5,0x85,0x88,0xe6,0x9f,0xa5,0xe6,0x89,0xbe,0xe6,0x9c,0x89,0xe4,0xb8,0x8d,0xe6,0x9c,0x89,0xe7,0x9b,0xb8,0xe5,0x90,0x8c,0xe6,0x96,0xad,0xe7,0x82,0xb9,0xa,
    // --先查找有不有相同断点
    ' ',' ',' ',' ','i','f',' ','(',' ','(',' ','d','e','b','u','g','.','b','p','s','[','l','i','n','e',']',' ','~','=',' ','n','i','l',' ',')',' ','a','n','d',' ','(',' ','d','e','b','u','g','.','b','p','s','[','l','i','n','e',']','[','s','o','u','r','c','e',']',' ','~','=',' ','n','i','l',' ',')',' ',')',' ','t','h','e','n',0xa,
    // if ( ( debug.bps[line] ~= nil ) and ( debug.bps[line][source] ~= nil ) ) then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','s','t','r','i','n','g','.','f','o','r','m','a','t','(',' ','"','b','r','e','a','k','p','o','i','n','t',' ','%','s',':','%','d',' ','e','x','i','s','t','e','d','"',',',' ','s','o','u','r','c','e',',',' ','l','i','n','e',' ',')',' ',')',0xa,
    // debug_log( string.format( "breakpoint %s:%d existed", source, line ) )
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',0xa,
    // return
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ','l','o','c','a','l',' ','t','b','l',' ','=',' ','{','}',0xa,
    // local tbl = {}
    ' ',' ',' ',' ','t','b','l','.','s','o','u','r','c','e',' ','=',' ','s','o','u','r','c','e',0xa,
    // tbl.source = source
    ' ',' ',' ',' ','t','b','l','.','l','i','n','e',' ','=',' ','l','i','n','e',0xa,
    // tbl.line = line
    ' ',' ',' ',' ','t','b','l','.','a','c','t','i','v','e',' ','=',' ','t','r','u','e',0xa,
    // tbl.active = true
    ' ',' ',' ',' ','t','b','l','.','n','u','m','b','e','r',' ','=',' ','d','e','b','u','g','.','b','p','s','.','m','a','x',' ','+',' ','1',0xa,
    // tbl.number = debug.bps.max + 1
    0xa,
    ' ',' ',' ',' ','i','f',' ','d','e','b','u','g','.','b','p','s','[','l','i','n','e',']',' ','=','=',' ','n','i','l',' ','t','h','e','n',0xa,
    // if debug.bps[line] == nil then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','[','l','i','n','e',']',' ','=',' ','{','}',0xa,
    // debug.bps[line] = {}
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','[','l','i','n','e',']','[','s','o','u','r','c','e',']',' ','=',' ','t','b','l',0xa,
    // debug.bps[line][source] = tbl
    ' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','m','a','x',' ','=',' ','d','e','b','u','g','.','b','p','s','.','m','a','x',' ','+',' ','1',0xa,
    // debug.bps.max = debug.bps.max + 1
    ' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','s','t','r','i','n','g','.','f','o','r','m','a','t','(',' ','"',0xe5,0x8a,0xa0,0xe6,0x96,0xad,0xe7,0x82,0xb9,'(','%','s',':','%','d',')','"',',',' ','s','o','u','r','c','e',',',' ','l','i','n','e',' ',')',' ',')',0xa,
    // debug_log( string.format( "加断点(%s:%d)", source, line ) )
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','r','e','m','o','v','e','_','b','r','e','a','k','p','o','i','n','t','(',' ','e','x','p','r',' ',')',0xa,
    // function remove_breakpoint( expr )
    ' ',' ',' ',' ','l','o','c','a','l',' ','s','i',' ','=',' ','s','t','r','i','n','g','.','f','i','n','d','(',' ','e','x','p','r',',',' ','"',':','"',' ',')',0xa,
    // local si = string.find( expr, ":" )
    ' ',' ',' ',' ','i','f',' ','n','i','l',' ','=','=',' ','s','i',' ','t','h','e','n',0xa,
    // if nil == si then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','"','r','e','m','o','v','e',' ','b','r','e','a','k','p','o','i','n','t',' ','e','r','r','o','r',',',' ','e','x','p','r',' ','(','"',' ','.','.',' ','e','x','p','r',' ','.','.',' ','"',')',' ','i','n','v','a','l','i','d','"',' ',')',0xa,
    // debug_log( "remove breakpoint error, expr (" .. expr .. ") invalid" )
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',0xa,
    // return
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ','l','o','c','a','l',' ','l','i','n','e',' ','=',' ','s','t','r','i','n','g','.','s','u','b','(',' ','e','x','p','r',',',' ','s','i',' ','+',' ','1',' ',')',0xa,
    // local line = string.sub( expr, si + 1 )
    ' ',' ',' ',' ','l','o','c','a','l',' ','l','i','n','e',' ','=',' ','t','o','n','u','m','b','e','r','(',' ','l','i','n','e',' ',')',0xa,
    // local line = tonumber( line )
    ' ',' ',' ',' ','l','o','c','a','l',' ','s','o','u','r','c','e',' ','=',' ','s','t','r','i','n','g','.','s','u','b','(',' ','e','x','p','r',',',' ','1',',',' ','s','i',' ','-',' ','1',' ',')',0xa,
    // local source = string.sub( expr, 1, si - 1 )
    0xa,
    ' ',' ',' ',' ','-','-',0xe5,0x85,0x88,0xe6,0x9f,0xa5,0xe6,0x89,0xbe,0xe6,0x9c,0x89,0xe4,0xb8,0x8d,0xe6,0x9c,0x89,0xe7,0x9b,0xb8,0xe5,0x90,0x8c,0xe6,0x96,0xad,0xe7,0x82,0xb9,0xa,
    // --先查找有不有相同断点
    ' ',' ',' ',' ','i','f','(',' ','(',' ','d','e','b','u','g','.','b','p','s','[','l','i','n','e',']',' ','~','=',' ','n','i','l',' ',')',' ','a','n','d',' ','(',' ','d','e','b','u','g','.','b','p','s','[','l','i','n','e',']','[','s','o','u','r','c','e',']',' ','~','=',' ','n','i','l',' ',')',' ',')','t','h','e','n',0xa,
    // if( ( debug.bps[line] ~= nil ) and ( debug.bps[line][source] ~= nil ) )then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','[','l','i','n','e',']','[','s','o','u','r','c','e',']',' ','=',' ','n','i','l',';',0xa,
    // debug.bps[line][source] = nil;
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','s','t','r','i','n','g','.','f','o','r','m','a','t','(',' ','"',0xe5,0x88,0xa0,0xe7,0x82,0xb9,0xe6,0x96,0xad,'(','%','s',':','%','d',')','"',',',' ','s','o','u','r','c','e',',',' ','l','i','n','e',' ',')',' ',')',0xa,
    // debug_log( string.format( "删点断(%s:%d)", source, line ) )
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',0xa,
    // return
    ' ',' ',' ',' ','e','l','s','e',0xa,
    // else
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','s','t','r','i','n','g','.','f','o','r','m','a','t','(',' ','"','n','o','t',' ','f','o','u','n','d',' ','b','r','e','a','k','p','o','i','n','t',' ','%','s',':','%','d',' ','e','x','i','s','t','e','d','"',',',' ','s','o','u','r','c','e',',',' ','l','i','n','e',' ',')',' ',')',0xa,
    // debug_log( string.format( "not found breakpoint %s:%d existed", source, line ) )
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',0xa,
    // return
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','s','h','o','w','_','b','p','(',')',0xa,
    // function debug_show_bp()
    ' ',' ',' ',' ','f','o','r',' ','k',',',' ','v',' ','i','n',' ','p','a','i','r','s','(',' ','d','e','b','u','g','.','b','p','s',' ',')',' ','d','o',0xa,
    // for k, v in pairs( debug.bps ) do
    ' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','t','y','p','e','(',' ','v',' ',')',' ','=','=',' ','"','t','a','b','l','e','"',' ','t','h','e','n',0xa,
    // if type( v ) == "table" then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','f','o','r',' ','k','1',',',' ','v','1',' ','i','n',' ','p','a','i','r','s','(',' ','v',' ',')',' ','d','o',0xa,
    // for k1, v1 in pairs( v ) do
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','l','o','c','a','l',' ','s','t','r',' ','=',' ','s','t','r','i','n','g','.','f','o','r','m','a','t','(',' ','"','b','p',' ','n','u','m',':','%','d',' ',' ','%','s',':','%','d',' ',' ','a','c','t','i','v','e',':','"',',',0xa,
    // local str = string.format( "bp num:%d  %s:%d  active:",
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','v','1','.','n','u','m','b','e','r',',',0xa,
    // v1.number,
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','v','1','.','s','o','u','r','c','e',',',0xa,
    // v1.source,
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','v','1','.','l','i','n','e',' ',')',0xa,
    // v1.line )
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','v','1','.','a','c','t','i','v','e',' ','t','h','e','n',0xa,
    // if v1.active then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','s','t','r',' ','=',' ','s','t','r',' ','.','.',' ','"','e','n','a','b','l','e','"',0xa,
    // str = str .. "enable"
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','l','s','e',0xa,
    // else
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','s','t','r',' ','=',' ','s','t','r',' ','.','.',' ','"','d','i','s','a','b','l','e','"',0xa,
    // str = str .. "disable"
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','s','t','r',' ',')',0xa,
    // debug_log( str )
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','d','e','l','_','b','p','(',' ','e','x','p','r',' ',')',0xa,
    // function debug_del_bp( expr )
    ' ',' ',' ',' ','l','o','c','a','l',' ','n','u','m','b','e','r',' ','=',' ','t','o','n','u','m','b','e','r','(',' ','e','x','p','r',' ',')',0xa,
    // local number = tonumber( expr )
    ' ',' ',' ',' ','f','o','r',' ','k',',',' ','v',' ','i','n',' ','p','a','i','r','s','(',' ','d','e','b','u','g','.','b','p','s',' ',')',' ','d','o',0xa,
    // for k, v in pairs( debug.bps ) do
    ' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','t','y','p','e','(',' ','v',' ',')',' ','=','=',' ','"','t','a','b','l','e','"',' ','t','h','e','n',0xa,
    // if type( v ) == "table" then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','f','o','r',' ','k','1',',',' ','v','1',' ','i','n',' ','p','a','i','r','s','(',' ','v',' ',')',' ','d','o',0xa,
    // for k1, v1 in pairs( v ) do
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','v','1','.','n','u','m','b','e','r',' ','=','=',' ','n','u','m','b','e','r',' ','t','h','e','n',0xa,
    // if v1.number == number then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','[','k',']','[','k','1',']',' ','=',' ','n','i','l',0xa,
    // debug.bps[k][k1] = nil
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','"','r','e','m','o','v','e',' ','b','p',':','"',' ','.','.',' ','n','u','m','b','e','r',' ','.','.',' ','"',' ','o','k','"',' ',')',0xa,
    // debug_log( "remove bp:" .. number .. " ok" )
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','e','n','a','b','l','e','_','b','p','(',' ','e','x','p','r',' ',')',0xa,
    // function debug_enable_bp( expr )
    ' ',' ',' ',' ','l','o','c','a','l',' ','n','u','m','b','e','r',' ','=',' ','t','o','n','u','m','b','e','r','(',' ','e','x','p','r',' ',')',0xa,
    // local number = tonumber( expr )
    ' ',' ',' ',' ','f','o','r',' ','k',',',' ','v',' ','i','n',' ','p','a','i','r','s','(',' ','d','e','b','u','g','.','b','p','s',' ',')',' ','d','o',0xa,
    // for k, v in pairs( debug.bps ) do
    ' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','t','y','p','e','(',' ','v',' ',')',' ','=','=',' ','"','t','a','b','l','e','"',' ','t','h','e','n',0xa,
    // if type( v ) == "table" then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','f','o','r',' ','k','1',',',' ','v','1',' ','i','n',' ','p','a','i','r','s','(',' ','v',' ',')',' ','d','o',0xa,
    // for k1, v1 in pairs( v ) do
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','v','1','.','n','u','m','b','e','r',' ','=','=',' ','n','u','m','b','e','r',' ','t','h','e','n',0xa,
    // if v1.number == number then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','v','1','.','a','c','t','i','v','e',' ','=',' ','t','r','u','e',0xa,
    // v1.active = true
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','"','e','n','a','b','l','e',' ','b','p',':','"',' ','.','.',' ','n','u','m','b','e','r',' ',')',0xa,
    // debug_log( "enable bp:" .. number )
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','d','i','s','a','b','l','e','_','b','p','(',' ','e','x','p','r',' ',')',0xa,
    // function debug_disable_bp( expr )
    ' ',' ',' ',' ','l','o','c','a','l',' ','n','u','m','b','e','r',' ','=',' ','t','o','n','u','m','b','e','r','(',' ','e','x','p','r',' ',')',0xa,
    // local number = tonumber( expr )
    ' ',' ',' ',' ','f','o','r',' ','k',',',' ','v',' ','i','n',' ','p','a','i','r','s','(',' ','d','e','b','u','g','.','b','p','s',' ',')',' ','d','o',0xa,
    // for k, v in pairs( debug.bps ) do
    ' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','t','y','p','e','(',' ','v',' ',')',' ','=','=',' ','"','t','a','b','l','e','"',' ','t','h','e','n',0xa,
    // if type( v ) == "table" then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','f','o','r',' ','k','1',',',' ','v','1',' ','i','n',' ','p','a','i','r','s','(',' ','v',' ',')',' ','d','o',0xa,
    // for k1, v1 in pairs( v ) do
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','v','1','.','n','u','m','b','e','r',' ','=','=',' ','n','u','m','b','e','r',' ','t','h','e','n',0xa,
    // if v1.number == number then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','v','1','.','a','c','t','i','v','e',' ','=',' ','f','a','l','s','e',0xa,
    // v1.active = false
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','"','d','i','s','a','b','l','e',' ','b','p',':','"',' ','.','.',' ','n','u','m','b','e','r',' ',')',0xa,
    // debug_log( "disable bp:" .. number )
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','h','e','l','p','(',')',0xa,
    // function debug_help()
    ' ',' ',' ',' ','p','r','i','n','t','(',' ','"','h',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','h','e','l','p',' ','i','n','f','o','"',' ',')',0xa,
    // print( "h             help info" )
    ' ',' ',' ',' ','p','r','i','n','t','(',' ','"','c',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','c','o','n','t','i','n','u','e','"',' ',')',0xa,
    // print( "c             continue" )
    ' ',' ',' ',' ','p','r','i','n','t','(',' ','"','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','t','r','a','c','e','"',' ',')',0xa,
    // print( "s             trace" )
    ' ',' ',' ',' ','p','r','i','n','t','(',' ','"','n',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','n','e','x','t','"',' ',')',0xa,
    // print( "n             next" )
    ' ',' ',' ',' ','p','r','i','n','t','(',' ','"','p',' ','v','a','r',' ',' ',' ',' ',' ',' ',' ',' ',' ','p','r','i','n','t',' ','v','a','r','i','a','b','l','e','"',' ',')',0xa,
    // print( "p var         print variable" )
    ' ',' ',' ',' ','p','r','i','n','t','(',' ','"','r','u','n',' ','e','x','p','r','e','s','s','i','o','n',' ',' ',' ',' ',' ',' ','r','u','n',' ','e','x','p','r','e','s','s','i','o','n',' ','c','o','d','e','"',' ',')',0xa,
    // print( "run expression      run expression code" )
    ' ',' ',' ',' ','p','r','i','n','t','(',' ','"','b',' ',' ','s','r','c',':','l','i','n','e',' ',' ',' ','a','d','d',' ','b','r','e','a','k','p','o','i','n','t','"',' ',')',0xa,
    // print( "b  src:line   add breakpoint" )
    ' ',' ',' ',' ','p','r','i','n','t','(',' ','"','r','b',' ','s','r','c',':','l','i','n','e',' ',' ',' ','r','e','m','o','v','e',' ','b','r','e','a','k','p','o','i','n','t','"',' ',')',0xa,
    // print( "rb src:line   remove breakpoint" )
    ' ',' ',' ',' ','p','r','i','n','t','(',' ','"','b','l',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','l','i','s','t',' ','b','r','e','a','k','p','o','i','n','t','"',' ',')',0xa,
    // print( "bl            list breakpoint" )
    ' ',' ',' ',' ','p','r','i','n','t','(',' ','"','b','t',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','p','r','i','n','t',' ','t','r','a','c','e','b','a','c','k','"',' ',')',0xa,
    // print( "bt            print traceback" )
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','r','u','n','i','n','g','_','e','x','e','c','u','t','e','(',' ','c','m','d',' ',')',0xa,
    // function debug_runing_execute( cmd )
    ' ',' ',' ',' ','i','f','(',' ','c','m','d','=','=','n','i','l',' ',')',' ','t','h','e','n',' ',0xa,
    // if( cmd==nil ) then
    ' ',' ',' ',' ',0x9,'r','e','t','u','r','n',';',0xa,
    // return;
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','l','o','c','a','l',' ','c',' ','=',' ','c','m','d',0xa,
    // local c = cmd
    ' ',' ',' ',' ','l','o','c','a','l',' ','e','x','p','r',' ','=',' ','"','"',0xa,
    // local expr = ""
    ' ',' ',' ',' ','l','o','c','a','l',' ','s','i',' ','=',' ','s','t','r','i','n','g','.','f','i','n','d','(',' ','c','m','d',',',' ','"',' ','"',' ',')',0xa,
    // local si = string.find( cmd, " " )
    ' ',' ',' ',' ','i','f',' ','s','i',' ','~','=',' ','n','i','l',' ','t','h','e','n',0xa,
    // if si ~= nil then
    ' ',' ',' ',' ',' ',' ',' ',' ','c',' ','=',' ','s','t','r','i','n','g','.','s','u','b','(',' ','c','m','d',',',' ','1',',',' ','s','i',' ','-',' ','1',' ',')',0xa,
    // c = string.sub( cmd, 1, si - 1 )
    ' ',' ',' ',' ',' ',' ',' ',' ','e','x','p','r',' ','=',' ','s','t','r','i','n','g','.','s','u','b','(',' ','c','m','d',',',' ','s','t','r','i','n','g','.','f','i','n','d','(',' ','c','m','d',',',' ','"',' ','%','w','"',' ',')',' ','+',' ','1',' ',')',0xa,
    // expr = string.sub( cmd, string.find( cmd, " %w" ) + 1 )
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ','i','f',' ','c',' ','=','=',' ','"','b','"',' ','t','h','e','n',0xa,
    // if c == "b" then
    ' ',' ',' ',' ',' ',' ',' ',' ','a','d','d','_','b','r','e','a','k','p','o','i','n','t','(',' ','e','x','p','r',' ',')',0xa,
    // add_breakpoint( expr )
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','r','b','"',' ','t','h','e','n',0xa,
    // elseif c == "rb" then
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','m','o','v','e','_','b','r','e','a','k','p','o','i','n','t','(',' ','e','x','p','r',' ',')',0xa,
    // remove_breakpoint( expr )
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','p','"',' ','t','h','e','n',0xa,
    // elseif c == "p" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','p','r','i','n','t','_','e','x','p','r','(',' ','e','x','p','r',' ',')',0xa,
    // debug_print_expr( expr )
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','e','x','e','c','u','t','e','_','c','m','d','(',' ','e','n','v',' ',')',0xa,
    // function debug_execute_cmd( env )
    ' ',' ',' ',' ','-','-','p','r','i','n','t','(',' ','"','(','l','d','b',')',' ','"',' ',')',0xa,
    // --print( "(ldb) " )
    ' ',' ',' ',' ','l','o','c','a','l',' ','c','m','d',' ','=',' ','d','e','b','u','g','.','r','e','a','d','C','m','d','(',')',0xa,
    // local cmd = debug.readCmd()
    ' ',' ',' ',' ','i','f',' ','(',' ','c','m','d',' ','=','=','n','i','l',' ',')',' ','t','h','e','n',0xa,
    // if ( cmd ==nil ) then
    ' ',' ',' ',' ',0x9,'d','e','b','u','g','.','s','l','e','e','p','(','0','.','0','1',')',';',0xa,
    // debug.sleep(0.01);
    ' ',' ',' ',' ',0x9,'r','e','t','u','r','n',' ','f','a','l','s','e',';',0xa,
    // return false;
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','-','-',0xe5,0x8f,0x96,0xe4,0xb8,0x8a,0xe4,0xb8,0x80,0xe6,0xac,0xa1,0xe7,0x9a,0x84,0xe5,0x91,0xbd,0xe4,0xbb,0xa4,',',0xe6,0x96,0xb9,0xe4,0xbe,0xbf,0xe8,0xb0,0x83,0xe8,0xaf,0x95,0xa,
    // --取上一次的命令,方便调试
    ' ',' ',' ',' ','-','-',' ','i','f',' ','c','m','d',' ','~','=',' ','"','"',' ','t','h','e','n',0xa,
    // -- if cmd ~= "" then
    ' ',' ',' ',' ','-','-',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','l','a','s','t','_','c','m','d',' ','=',' ','c','m','d',0xa,
    // --     debug.bps.last_cmd = cmd
    ' ',' ',' ',' ','-','-',' ','e','l','s','e',0xa,
    // -- else
    ' ',' ',' ',' ','-','-',' ',' ',' ',' ',' ','c','m','d',' ','=',' ','d','e','b','u','g','.','b','p','s','.','l','a','s','t','_','c','m','d',0xa,
    // --     cmd = debug.bps.last_cmd
    ' ',' ',' ',' ','-','-',' ','e','n','d',0xa,
    // -- end
    0xa,
    ' ',' ',' ',' ','l','o','c','a','l',' ','c',' ','=',' ','c','m','d',0xa,
    // local c = cmd
    ' ',' ',' ',' ','l','o','c','a','l',' ','e','x','p','r',' ','=',' ','"','"',0xa,
    // local expr = ""
    ' ',' ',' ',' ','l','o','c','a','l',' ','s','i',' ','=',' ','s','t','r','i','n','g','.','f','i','n','d','(',' ','c','m','d',',',' ','"',' ','"',' ',')',0xa,
    // local si = string.find( cmd, " " )
    ' ',' ',' ',' ','i','f',' ','s','i',' ','~','=',' ','n','i','l',' ','t','h','e','n',0xa,
    // if si ~= nil then
    ' ',' ',' ',' ',' ',' ',' ',' ','c',' ','=',' ','s','t','r','i','n','g','.','s','u','b','(',' ','c','m','d',',',' ','1',',',' ','s','i',' ','-',' ','1',' ',')',0xa,
    // c = string.sub( cmd, 1, si - 1 )
    ' ',' ',' ',' ',' ',' ',' ',' ','-','-',' ','l','o','c','a','l',' ','i','n','d','e','x',' ','=',' ','s','t','r','i','n','g','.','f','i','n','d','(',' ','c','m','d',',',' ','"',' ','%','w','"',' ',')',';',0xa,
    // -- local index = string.find( cmd, " %w" );
    ' ',' ',' ',' ',' ',' ',' ',' ','-','-',' ','i','f',' ','(',' ','i','n','d','e','x',' ',')',' ','t','h','e','n',0xa,
    // -- if ( index ) then
    ' ',' ',' ',' ',' ',' ',' ',' ','-','-',' ',' ',' ',' ',' ','e','x','p','r',' ','=',' ','s','t','r','i','n','g','.','s','u','b','(',' ','c','m','d',',',' ','i','n','d','e','x',' ','+',' ','1',' ',')',';',0xa,
    // --     expr = string.sub( cmd, index + 1 );
    ' ',' ',' ',' ',' ',' ',' ',' ','-','-',' ','e','n','d',0xa,
    // -- end
    ' ',' ',' ',' ',' ',' ',' ',' ','e','x','p','r',' ','=',' ','s','t','r','i','n','g','.','s','u','b','(','c','m','d',',',' ','s','i',' ','+',' ','1',' ',')',';',0xa,
    // expr = string.sub(cmd, si + 1 );
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','i','f',' ','c','=','=','"','c','l','o','s','e','"',' ','t','h','e','n',0xa,
    // if c=="close" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','c','l','o','s','e','(',')',';',0xa,
    // debug_close();
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',' ','t','r','u','e',';',0xa,
    // return true;
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c','=','=','"','n','o','n','e','"',' ','t','h','e','n',0xa,
    // elseif c=="none" then
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',' ','f','a','l','s','e',';',0xa,
    // return false;
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','c','"',' ','t','h','e','n',0xa,
    // elseif c == "c" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e',' ','=',' ','f','a','l','s','e',0xa,
    // debug.bps.trace = false
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',' ','t','r','u','e',0xa,
    // return true
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','s','"',' ','t','h','e','n',0xa,
    // elseif c == "s" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e',' ','=',' ','t','r','u','e',0xa,
    // debug.bps.trace = true
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',' ','t','r','u','e',0xa,
    // return true
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','n','"',' ','t','h','e','n',0xa,
    // elseif c == "n" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e',' ','=',' ','f','a','l','s','e',0xa,
    // debug.bps.trace = false
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','n','e','x','t',' ','=',' ','t','r','u','e',0xa,
    // debug.bps.next = true
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','c','u','r','_','f','u','n','c',' ','=',' ','e','n','v','.','f','u','n','c',0xa,
    // debug.bps.cur_func = env.func
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e','_','c','o','u','n','t',' ','=',' ','d','e','b','u','g','.','t','r','a','c','e','b','a','c','k','_','c','o','u','n','t','(',')',' ','-',' ','1',0xa,
    // debug.bps.trace_count = debug.traceback_count() - 1
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',' ','t','r','u','e',0xa,
    // return true
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','p','"',' ','t','h','e','n',0xa,
    // elseif c == "p" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','p','r','i','n','t','_','e','x','p','r','(',' ','e','x','p','r',' ',')',0xa,
    // debug_print_expr( expr )
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','r','u','n','"',' ','t','h','e','n',0xa,
    // elseif c == "run" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','r','u','n','_','e','x','p','r','(',' ','e','x','p','r',' ',')',0xa,
    // debug_run_expr( expr )
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','b','"',' ','t','h','e','n',0xa,
    // elseif c == "b" then
    ' ',' ',' ',' ',' ',' ',' ',' ','a','d','d','_','b','r','e','a','k','p','o','i','n','t','(',' ','e','x','p','r',' ',')',0xa,
    // add_breakpoint( expr )
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','r','b','"',' ','t','h','e','n',0xa,
    // elseif c == "rb" then
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','m','o','v','e','_','b','r','e','a','k','p','o','i','n','t','(',' ','e','x','p','r',' ',')',0xa,
    // remove_breakpoint( expr )
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','b','l','"',' ','t','h','e','n',0xa,
    // elseif c == "bl" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','s','h','o','w','_','b','p','(',')',0xa,
    // debug_show_bp()
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','d','"',' ','t','h','e','n',0xa,
    // elseif c == "d" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','d','e','l','_','b','p','(',' ','e','x','p','r',' ',')',0xa,
    // debug_del_bp( expr )
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','b','e','"',' ','t','h','e','n',0xa,
    // elseif c == "be" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','e','n','a','b','l','e','_','b','p','(',' ','e','x','p','r',' ',')',0xa,
    // debug_enable_bp( expr )
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','b','d','"',' ','t','h','e','n',0xa,
    // elseif c == "bd" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','d','i','s','a','b','l','e','_','b','p','(',' ','e','x','p','r',' ',')',0xa,
    // debug_disable_bp( expr )
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','b','t','"',' ','t','h','e','n',0xa,
    // elseif c == "bt" then
    ' ',' ',' ',' ',' ',' ',' ',' ','l','o','c','a','l',' ','t','r','a','c','e',' ','=',' ','d','e','b','u','g','.','t','r','a','c','e','b','a','c','k','(','"','"',',',' ','3',')',';',0xa,
    // local trace = debug.traceback("", 3);
    ' ',' ',' ',' ',' ',' ',' ',' ','p','r','i','n','t','(',' ','t','r','a','c','e',' ',')',';',0xa,
    // print( trace );
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','s','t','a','c','k','"',' ','t','h','e','n',0xa,
    // elseif c == "stack" then
    ' ',' ',' ',' ',' ',' ',' ',' ','l','o','c','a','l',' ','t','r','a','c','e',' ','=',' ','d','e','b','u','g','.','t','r','a','c','e','b','a','c','k','(','"','"',',',' ','3',')',';',0xa,
    // local trace = debug.traceback("", 3);
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','w','r','i','t','e','C','m','d','(','"','s','t','a','c','k','"',',',' ','t','r','a','c','e',',',' ','n','i','l',')',';',0xa,
    // debug.writeCmd("stack", trace, nil);
    ' ',' ',' ',' ','e','l','s','e','i','f',' ','c',' ','=','=',' ','"','h','"',' ','t','h','e','n',0xa,
    // elseif c == "h" then
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','h','e','l','p','(',')',0xa,
    // debug_help()
    ' ',' ',' ',' ','e','l','s','e',0xa,
    // else
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','_','l','o','g','(',' ','"','i','n','v','a','l','i','d',' ','c','m','d',':','"',' ','.','.',' ','c','m','d',' ',')',0xa,
    // debug_log( "invalid cmd:" .. cmd )
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','r','e','t','u','r','n',' ','f','a','l','s','e',0xa,
    // return false
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','t','r','a','c','e','(',' ','e','v','e','n','t',',',' ','l','i','n','e',' ',')',0xa,
    // function debug_trace( event, line )
    ' ',' ',' ',' ','l','o','c','a','l',' ','e','n','v',' ','=',' ','d','e','b','u','g','.','g','e','t','i','n','f','o','(',' ','2',' ',')',0xa,
    // local env = debug.getinfo( 2 )
    0xa,
    ' ',' ',' ',' ','i','f',' ','e','n','v','.','s','o','u','r','c','e',' ','=','=',' ','_','D','E','B','U','G','_','F','I','L','E',' ','t','h','e','n',0xa,
    // if env.source == _DEBUG_FILE then
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',0xa,
    // return
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ','-','-',0xe5,0x88,0xa4,0xe6,0x96,0xad,0xe6,0x98,0xaf,0xe5,0x90,0xa6,0xe5,0x9c,0xa8,'n','e','x','t',0xe8,0xb0,0x83,0xe8,0xaf,0x95,0xa,
    // --判断是否在next调试
    ' ',' ',' ',' ','i','f',' ','d','e','b','u','g','.','b','p','s','.','n','e','x','t',' ',' ','t','h','e','n',0xa,
    // if debug.bps.next  then
    ' ',' ',' ',' ',' ',' ',' ',' ','l','o','c','a','l',' ','t','r','a','c','e','_','c','o','u','n','t',' ','=',' ','d','e','b','u','g','.','t','r','a','c','e','b','a','c','k','_','c','o','u','n','t','(',')',0xa,
    // local trace_count = debug.traceback_count()
    ' ',' ',' ',' ',' ',' ',' ',' ','-','-',0xe5,0x87,0xbd,0xe6,0x95,0xb0,0xe8,0xbf,0x94,0xe5,0x9b,0x9e,0xe4,0xba,0x86,',',0xe8,0xb0,0x83,0xe7,0x94,0xa8,0xe6,0xa0,0x88,0xe6,0x95,0xb0,0xe9,0x87,0x8f,0xe5,0xb0,0xb1,0xe4,0xbc,0x9a,0xe6,0xaf,0x94,0xe7,0x8e,0xb0,0xe5,0x9c,0xa8,0xe5,0xb0,0x8f,0xa,
    // --函数返回了,调用栈数量就会比现在小
    ' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','t','r','a','c','e','_','c','o','u','n','t',' ','<',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e','_','c','o','u','n','t',' ','t','h','e','n',0xa,
    // if trace_count < debug.bps.trace_count then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','n','e','x','t',' ','=',' ','f','a','l','s','e',0xa,
    // debug.bps.next = false
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e',' ','=',' ','t','r','u','e',0xa,
    // debug.bps.trace = true
    ' ',' ',' ',' ',' ',' ',' ',' ','e','l','s','e','i','f',' ','t','r','a','c','e','_','c','o','u','n','t',' ','=','=',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e','_','c','o','u','n','t',' ','t','h','e','n',0xa,
    // elseif trace_count == debug.bps.trace_count then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','i','f',' ','d','e','b','u','g','.','b','p','s','.','c','u','r','_','f','u','n','c',' ','=','=',' ','e','n','v','.','f','u','n','c',' ','t','h','e','n',0xa,
    // if debug.bps.cur_func == env.func then
    0x9,' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','n','e','x','t',' ','=',' ','f','a','l','s','e',0xa,
    // debug.bps.next = false
    0x9,' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e',' ','=',' ','t','r','u','e',0xa,
    // debug.bps.trace = true
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ','-','-',0xe5,0x88,0xa4,0xe6,0x96,0xad,0xe6,0x98,0xaf,0xe5,0x90,0xa6,0xe6,0x9c,0x89,0xe6,0x96,0xad,0xe7,0x82,0xb9,0xa,
    // --判断是否有断点
    ' ',' ',' ',' ','i','f','(',' ','(',' ','n','o','t',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e',' ',')',' ','a','n','d',' ','(',' ','d','e','b','u','g','.','b','p','s','[','l','i','n','e',']',' ','~','=',' ','n','i','l',' ',')',' ',')',' ','t','h','e','n',0xa,
    // if( ( not debug.bps.trace ) and ( debug.bps[line] ~= nil ) ) then
    ' ',' ',' ',' ',' ',' ',' ',' ','l','o','c','a','l',' ','t','b','l',' ','=',' ','d','e','b','u','g','.','b','p','s','[','l','i','n','e',']','[','e','n','v','.','s','o','u','r','c','e',']',0xa,
    // local tbl = debug.bps[line][env.source]
    ' ',' ',' ',' ',' ',' ',' ',' ','i','f','(',' ',' ','(',' ','t','b','l',' ','~','=',' ','n','i','l',' ',')',' ','a','n','d',' ','t','b','l','.','a','c','t','i','v','e',' ',' ',')','t','h','e','n',0xa,
    // if(  ( tbl ~= nil ) and tbl.active  )then
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','-','-',0xe5,0xa6,0x82,0xe6,0x9e,0x9c,0xe5,0x9c,0xa8,'n','e','x','t',0xe6,0x97,0xb6,',',0xe7,0xa2,0xb0,0xe5,0x88,0xb0,0xe6,0x96,0xad,0xe7,0x82,0xb9,0xe4,0xba,0x86,',',0xe5,0xb0,0xb1,0xe6,0xb8,0x85,0xe9,0x99,0xa4,0xe5,0x8d,0x95,0xe6,0xad,0xa5,0xe8,0xbf,0x90,0xe8,0xa1,0x8c,0xe7,0x8a,0xb6,0xe6,0x80,0x81,0xa,
    // --如果在next时,碰到断点了,就清除单步运行状态
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','n','e','x','t',' ','=',' ','f','a','l','s','e',0xa,
    // debug.bps.next = false
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e',' ','=',' ','t','r','u','e',0xa,
    // debug.bps.trace = true
    ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','-','-',' ','d','e','b','u','g','_','l','o','g','(',' ','"',0xe7,0xa2,0xb0,0xe5,0x88,0xb0,0xe6,0x96,0xad,0xe7,0x82,0xb9,' ','"',' ','.','.',' ','e','n','v','.','s','o','u','r','c','e',' ','.','.',' ','"',' ','-',' ','"',' ','.','.',' ','l','i','n','e',' ',')',0xa,
    // -- debug_log( "碰到断点 " .. env.source .. " - " .. line )
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    0xa,
    ' ',' ',' ',' ','i','f',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e',' ','t','h','e','n',0xa,
    // if debug.bps.trace then
    ' ',' ',' ',' ',' ',' ',' ',' ','l','o','c','a','l',' ','s','r','c',' ','=',' ','d','e','b','u','g','.','g','e','t','_','f','i','l','e','_','l','i','n','e','(',' ','e','n','v','.','s','o','u','r','c','e',',',' ','l','i','n','e',' ',')',0xa,
    // local src = debug.get_file_line( env.source, line )
    ' ',' ',' ',' ',' ',' ',' ',' ','l','o','c','a','l',' ','f','u','n','n','a','m','e',' ','=',' ','e','n','v','.','n','a','m','e',' ','o','r',' ','"','u','n','k','n','o','w','"',0xa,
    // local funname = env.name or "unknow"
    ' ',' ',' ',' ',' ',' ',' ',' ','-','-','d','e','b','u','g','_','l','o','g','(',' ','s','t','r','i','n','g','.','f','o','r','m','a','t','(',' ','"','%','s',':','%','d','(','%','s',')',' ',' ','%','s','"',',',' ','e','n','v','.','s','o','u','r','c','e',',',' ','l','i','n','e',',',' ','f','u','n','n','a','m','e',',',' ','s','r','c',' ',')',' ',')',0xa,
    // --debug_log( string.format( "%s:%d(%s)  %s", env.source, line, funname, src ) )
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','r','u','n','n','i','n','g','L','i','n','e','(',' ','e','n','v','.','s','o','u','r','c','e',',',' ','l','i','n','e',' ',')',';',0xa,
    // debug.runningLine( env.source, line );
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','c','u','r','_','f','i','l','e',' ','=',' ','e','n','v','.','s','o','u','r','c','e',';',0xa,
    // debug.bps.cur_file = env.source;
    ' ',' ',' ',' ',' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','c','u','r','_','l','i','n','e',' ','=',' ','l','i','n','e',0xa,
    // debug.bps.cur_line = line
    ' ',' ',' ',' ',' ',' ',' ',' ','w','h','i','l','e',' ','n','o','t',' ','d','e','b','u','g','_','e','x','e','c','u','t','e','_','c','m','d','(',' ','e','n','v',' ',')',' ','d','o',0xa,
    // while not debug_execute_cmd( env ) do
    ' ',' ',' ',' ',' ',' ',' ',' ','e','n','d',0xa,
    // end
    ' ',' ',' ',' ',' ',' ',' ',' ','r','e','t','u','r','n',';',0xa,
    // return;
    ' ',' ',' ',' ','e','n','d',0xa,
    // end
    'e','n','d',0xa,
    // end
    0xa,
    'f','u','n','c','t','i','o','n',' ','b','e','g','i','n','_','d','e','b','u','g','(',')',0xa,
    // function begin_debug()
    ' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e',' ','=',' ','t','r','u','e',0xa,
    // debug.bps.trace = true
    ' ',' ',' ',' ','d','e','b','u','g','.','s','e','t','h','o','o','k','(',' ','d','e','b','u','g','_','t','r','a','c','e',',',' ','"','l','"',' ',')',0xa,
    // debug.sethook( debug_trace, "l" )
    'e','n','d',0xa,
    // end
    0xa,
    '-','-',0xe5,0x85,0xb3,0xe9,0x97,0xad,'d','e','b','u','g','g','e','r',0xa,
    // --关闭debugger
    'f','u','n','c','t','i','o','n',' ','d','e','b','u','g','_','c','l','o','s','e','(',')',0xa,
    // function debug_close()
    ' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','t','r','a','c','e',' ','=',' ','f','a','l','s','e',0xa,
    // debug.bps.trace = false
    ' ',' ',' ',' ','d','e','b','u','g','.','b','p','s','.','n','e','x','t',' ','=',' ','f','a','l','s','e',0xa,
    // debug.bps.next = false
    ' ',' ',' ',' ','d','e','b','u','g','.','s','e','t','h','o','o','k','(',')',0xa,
    // debug.sethook()
    'e','n','d',0xa,
    // end
    0xa,
    'd','e','b','u','g','_','l','o','g','(','"','l','o','a','d',' ','d','e','b','u','g',' ','m','o','d','e','l','"',')',';',0xa,
    // debug_log("load debug model");
    'd','e','b','u','g','.','p','r','i','n','t','T','o','S','e','r','v','e','r','(','t','r','u','e',')',';',0xa,
    // debug.printToServer(true);
    0xa,
    0xa,
    'b','e','g','i','n','_','d','e','b','u','g','(',')',';',' ','-','-',' ','l','a','s','t',' ','l','i','n','e',0xa,
    // begin_debug(); -- last line
    0xa,
    0
};
#endif

